警告 : 本篇會使用用到Git指令,有興趣的朋友可以參考[ 猩猩也會用 ] Git 介紹筆記
1. GitHub介紹
1.1 GitHub的特點和優勢
GitHub是一個基於Git的程式碼託管平台,但它提供的功能遠不止於此。以下是GitHub的主要特點和優勢:
1.1.1 程式碼託管
- 提供公開倉庫和私有倉庫
- 支持Git的所有核心功能
- 提供Web界面進行程式碼瀏覽和管理
1.1.2 協作功能
- Fork和Pull Request模式:便於開源項目的貢獻
- 程式碼審查:內建的程式碼審查工具
- 問題追蹤:Issue系統用於Bug報告和功能請求
- 討論區:為每個倉庫提供討論功能
1.1.3 專案管理
- 項目看板:可視化的任務管理工具
- 里程碑:幫助規劃和追蹤項目進度
- Wiki:為項目提供文檔空間
1.1.4 持續集成/持續部署(CI/CD)
- GitHub Actions:自動化工作流程
- 與多種CI/CD工具集成
1.1.5 安全功能
- 依賴項掃描:自動檢測程式碼中的安全漏洞
- 秘密掃描:防止敏感數據泄露
1.1.6 社交編程
- 個人資料和貢獻圖表
- 關注其他開發者和項目
- 探索流行的開源項目
1.1.7 學習和教育
- GitHub Learning Lab:互動式學習平台
- 學生開發包:為學生提供免費工具和服務
1.1.8 整合和擴展
- GitHub Marketplace:提供各種第三方工具和服務
- API:允許開發者創建自定義工具和集成
1.2 創建GitHub帳戶和設置
1.2.1 註冊流程
- 訪問 GitHub 官網 (https://github.com)
- 點擊 "Sign up" 按鈕
- 填寫用戶名、電子郵件和密碼
- 驗證帳戶(可能需要解決驗證碼或接收確認郵件)
- 選擇帳戶類型(免費或付費計劃)
1.2.2 設置個人資料
- 上傳頭像
- 添加個人簡介
- 設置公司、位置等信息
- 設置公開e-mail
1.2.3 設置 SSH 密鑰
- 生成 SSH 密鑰對:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- 複製公鑰內容:
cat ~/.ssh/id_rsa.pub
- 在GitHub設置中添加SSH密鑰:
- 進入 Settings > SSH and GPG keys
- 點擊 "New SSH key"
- 貼上公鑰內容並保存
1.2.4 設置雙因素認證(推薦)
- 進入 Settings > Security
- 啟用雙因素認證
- 選擇認證方式(如應用程式或SMS)
- 按照指示完成設置
1.2.5 配置 Git
確保本地 Git 配置了正確的用戶名和E-mail:
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
1.2.6 自定義設置
- 設置默認分支名稱
- 配置通知偏好
- 設置隱私選項
- 管理訪問權限
1.2.7 探索 GitHub
- 關注感興趣的開發者和項目
- 星標(Star)喜歡的倉庫
- 瀏覽趨勢項目和推薦內容
GitHub不僅僅是一個程式碼託管平台,它已經發展成為開發者社區的中心和協作的重要工具。通過提供豐富的功能和工具,GitHub極大地簡化了軟件開發流程,促進了開源社區的發展,並為開發者提供了展示和分享工作的平台。
創建和正確設置GitHub帳戶是充分利用這個平台的第一步。
2. 使用GitHub
2.1 創建和管理倉庫
2.1.1 創建新倉庫
- 點擊GitHub主頁右上角的 "+" 圖標,選擇 "New repository"
- 填寫倉庫名稱
- 選擇公開或私有
- 可選:添加README、.gitignore和License
- 點擊 "Create repository"
2.1.2 倉庫設置和管理
2.1.3 Clone倉庫到本地
git clone https://github.com/username/repository.git
2.1.4 推送本地更改到GitHub
git push origin main
2.2 Fork和Pull Request
2.2.1 Fork 的概念和使用
- Fork:創建一個倉庫的副本到自己的帳戶
- 使用步驟:
- 在GitHub上找到想要貢獻的倉庫
- 點擊右上角的 "Fork" 按鈕
2.2.2 創建 Pull Request
- 在你的Fork中進行修改並提交
- 在GitHub上切換到包含你更改的分支
- 點擊 "Pull request" 按鈕
- 選擇base倉庫和分支
- 填寫Pull Request的標題和描述
- 點擊 "Create pull request"
2.2.3 管理 Pull Request
- 程式碼審查:審查者可以添加評論、要求更改
- 討論:通過評論進行討論
- 更新:提交者可以繼續推送更改到pull request
- 合併:倉庫維護者可以合併pull request
2.3 Issues和專案管理
2.3.1 創建和管理 Issues
- 創建Issue:
- 在倉庫頁面點擊 "Issues" 標籤
- 點擊 "New issue"
- 填寫標題和描述
- 可選:添加標籤、里程碑、指派人員
- 管理Issue:
- 評論和討論
- 關閉或重新打開
- 將Issue連接到Pull Request
2.3.2 使用專案面板
- 創建專案板:
- 在倉庫頁面點擊 "Projects" 標籤
- 點擊 "New project"
- 選擇模板或從頭開始
- 管理專案板:
- 添加列(如 To Do, In Progress, Done)
- 將Issues和Pull Requests添加為卡片
- 拖放卡片以更新狀態
2.3.3 使用里程碑
- 創建里程碑:
- 在Issues頁面點擊 "Milestones"
- 點擊 "New milestone"
- 設置標題、描述和截止日期
- 將Issues分配給里程碑
2.4 GitHub Pages
GitHub Pages允許您直接從GitHub倉庫託管網站。
2.4.1 設置 GitHub Pages
- 進入倉庫的 "Settings" 標籤
- 滾動到 "GitHub Pages" 部分
- 選擇源分支(通常是 main 或 gh-pages)
- 選擇根目錄或 /docs 文件夾
- 點擊 "Save"
2.4.2 使用主題
- 在GitHub Pages設置中點擊 "Choose a theme"
- 選擇一個主題並應用
2.4.3 自定義域名
- 在GitHub Pages設置中,輸入您的自定義域名
- 更新您的DNS設置,將域名指向GitHub Pages的IP地址
- 在倉庫中添加一個名為CNAME的文件,內容為您的域名
2.4.4 使用Jekyll
GitHub Pages原生支持Jekyll,一個靜態站點生成器:
- 在倉庫中創建Jekyll站點結構
- 推送到GitHub
- GitHub會自動構建和部署您的Jekyll站點
2.4.5 限制和注意事項
- GitHub Pages主要用於靜態內容
- 公開倉庫的GitHub Pages是公開的
- 有流量和大小限制
這些功能構成了GitHub的核心使用體驗。通過掌握這些功能,您可以有效地管理程式碼、協作開發、追踪問題、管理項目進度,甚至託管簡單的網站。
創建和管理倉庫是基礎,Fork和Pull Request模式支持開源協作,Issues和專案管理工具幫助組織和追踪工作,而GitHub Pages則為展示項目提供了簡單的方法。
每個功能都有其獨特的用途和最佳實踐。隨著您使用GitHub的經驗增加,您會發現這些工具如何協同工作,以支持更複雜和高效的開發工作流程。